home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 151-175 / disk_160 / m4 / readme < prev    next >
Text File  |  1992-05-06  |  3KB  |  81 lines

  1.     What you have here is a completely PD implementation of
  2.     M4. It was originally written for the GNU project. 
  3.     This version was the last version before a major re-write 
  4.     took place.
  5.  
  6.     Pd M4 is based on software tools macro, as described in the
  7.     two tools books by Kernighan and Plauger. Although some
  8.     serious changes have been made, this version inherits the basic
  9.     design problems of the original, hence the ugliness of the
  10.     underlying code. [GNU version of this processor is re-designed
  11.     in a much cleaner fashion, and is expected to be out before 
  12.     1988. GNU version also includes an extensive texinfo document.]
  13.  
  14.     PDness:
  15.  
  16.     This code *is* PD. You (public) have all the rights to the code. 
  17.     [But this also means you (singular) do not have any *extra*
  18.     rights to the code, hence it is impossible for you to restrict
  19.     the use and distribution of this code in any way.]
  20.  
  21.     Dedication:
  22.  
  23.     This posting is a dedication to an old 750 that started out
  24.     running 4.1BSD and had 1.5 meg, 1 dz11, and 2 Rk07 drives.
  25.     It was named yetti [sic] by accident, and was managed by the
  26.     author until its retirement few months ago. [the name yetti 
  27.     now identifies a different machine]
  28.  
  29.     Distribution + misc:
  30.  
  31.     The distribution includes a small test suite, the sources and
  32.     a man page. texinfo document is not included. The makefile is
  33.     pretty simple. See the makefile for configuration options.
  34.     Try "make time" for some timing comparisons between your un*x
  35.     m4 and the pd m4. [It should be slighly slower than V7 m4, and
  36.     slightly faster than SV m4]. Make sure to set MBIN to indicate
  37.     the location of un*x m4. See the test suite (test.m4) for some
  38.     additional comments about pd m4 vs un*x m4.
  39.  
  40.     Some thoughts:
  41.  
  42.     M4 is a neat macro processor but probably a bit outdated by
  43.     now. It does not need gratuitous additions, or "features", but
  44.     a complete re-write. As it stands, it is powerful enough for
  45.     most macro processing needs. We have, for example, used it to
  46.     build a configuration language for DECNET under VMS. It can
  47.     be a handy software engineering tool under most circumstances,
  48.     and can displace a lot of meaningless little hacks written in
  49.     C, pascal or whatever. [See some net postings for references.]
  50.  
  51.     Suggestions for hacking:
  52.  
  53.     If you want to hack M4 further, you may wish to implement the
  54.     SV m4 "trace" facility, and extended (5-char) Comment/Quote
  55.     definitions. This version also needs some dynamicity for its
  56.     data structures, and the ability to handle multiple file names
  57.     in the command line. If you want to add "features", you may wish
  58.     to first think about implementing the "feature" as an M4 macro.
  59.     If you really want to elevate this processor into a more state-of
  60.     the-art tool, than you should probably re-write it. [But I have
  61.     already done that, so you may wish to wait for the GNU version to
  62.     get a head start.]
  63.  
  64.     Feedback:
  65.  
  66.     If you have any important fixes and/or speed improvements,  I am
  67.     much interested, since my new version inherits some code from this
  68.     version. I am also interested in hearing about any unique applica-
  69.     tions of M4. I am not interested in gratuitous hacks or "neat"
  70.     kitchen-sink features. 
  71.  
  72.     Contact:
  73.  
  74.         Usenet: [decvax|ihnp4]!utzoo!yetti!oz || 
  75.                 ...seismo!mnetor!yetti!oz
  76.         Bitnet: oz@[yulibra|yuyetti].BITNET
  77.         Phonet: [416] 736-5257 x 3976
  78.  
  79.  
  80.     enjoy.    oz
  81.